package Operator;

/**
 * @author : niu niu
 * @version : 1.0.0
 * @date : 2022/8/17 11:35
 * 条件运算符:三目运算符
 *     表达式1 ? 表达式2 : 表达式3
 *   注意：1.三木运算符不能单独存在，返回值必须被使用->要么赋值，要么输出
 *        2.表达式2,和表达式3 要是相同的数据类型，或者可以发生隐式类型转换
 *          为了避免歧义，最好用相同数据类型
 */
public class ConditionOperators {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        //求最大值
        int max = a > b ? a : b ;
        System.out.println(max);
        //表达式2,和表达式3 要是相同的数据类型，或者可以发生隐式类型转换
        //为了避免歧义，最好用相同数据类型
        double c = a>b?1:2.0;
        System.out.println(c);
        System.out.println(a>b?1:2.0);
        //三目运算符不能单独存在，返回值必须被使用->要么赋值，要么输出

        //算数运算符 优先级 高于 移位运算符
        int d =10;
        int e = 20;
        int avg = a+(b-a)>>1;//(10+10 )/2
        int avg1 = a+((b-a)>>1);//10+10/2
        System.out.println( avg);
        System.out.println(avg1);
    }
}
